<div *nzModalTitle> {{ 'mxk.text.changepassword' | i18n }} </div>
<div>
  <form nz-form [formGroup]="formGroup" (ngSubmit)="onSubmit($event)" se-container="1">
    <nz-form-item style="width: 100%" class="d-none">
      <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="id">{{ 'mxk.password.id' | i18n }} </nz-form-label>
      <nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid id!">
        <input [(ngModel)]="form.model.id" [ngModelOptions]="{ standalone: true }" nz-input name="id" id="id" />
      </nz-form-control>
    </nz-form-item>
    <nz-form-item style="width: 100%">
      <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="username">{{ 'mxk.password.username' | i18n }} </nz-form-label>
      <nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid username!">
        <input disabled [(ngModel)]="form.model.username" [ngModelOptions]="{ standalone: true }" nz-input name="username" id="username" />
      </nz-form-control>
    </nz-form-item>
    <nz-form-item style="width: 100%">
      <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="displayName">{{ 'mxk.password.displayName' | i18n }} </nz-form-label>
      <nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid displayName!">
        <input
          disabled
          [(ngModel)]="form.model.displayName"
          [ngModelOptions]="{ standalone: true }"
          nz-input
          name="displayName"
          id="displayName"
        />
      </nz-form-control>
    </nz-form-item>
    <nz-form-item style="width: 100%">
      <nz-form-label nzRequired [nzSm]="6" [nzXs]="24" nzFor="password">{{ 'mxk.password.password' | i18n }} </nz-form-label>
      <nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid password!">
        <nz-input-group [nzSuffix]="suffixPasswordTemplate" [nzAddOnAfter]="suffixPasswordButton" style="width: 100%">
          <input
            [type]="passwordVisible ? 'text' : 'password'"
            nz-input
            placeholder="new password"
            [(ngModel)]="form.model.password"
            [ngModelOptions]="{ standalone: true }"
            name="password"
            id="password"
          />
        </nz-input-group>
        <ng-template #suffixPasswordTemplate>
          <i nz-icon [nzType]="passwordVisible ? 'eye-invisible' : 'eye'" (click)="passwordVisible = !passwordVisible"></i>
        </ng-template>
        <ng-template #suffixPasswordButton>
          <button nz-button nzType="primary" nzSearch (click)="onPassword($event)">{{ 'mxk.text.generate' | i18n }}</button>
        </ng-template>
      </nz-form-control>
    </nz-form-item>
    <nz-form-item style="width: 100%">
      <nz-form-label nzRequired [nzSm]="6" [nzXs]="24" nzFor="confirmPassword">{{ 'mxk.password.confirmPassword' | i18n }}</nz-form-label>
      <nz-form-control [nzSm]="18" [nzXs]="24" nzErrorTip="The input is not valid confirmPassword!">
        <input
          type="password"
          nz-input
          placeholder="confirm password"
          [(ngModel)]="form.model.confirmPassword"
          [ngModelOptions]="{ standalone: true }"
          name="confirmPassword"
          id="confirmPassword"
        />
      </nz-form-control>
    </nz-form-item>
  </form>
</div>

<div *nzModalFooter>
  <button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
  <button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
</div>
